/**
 * 
 */
package com.gr.experimental.model.impl.distr.operators;

/**
 * @author Karol Banczyk
 *
 */
public interface BinaryNumericOperator {

	public abstract Class<?> getReturnType();

	/**
	 * {@inheritDoc}
	 * @see com.gr.experimental.model.impl.distr.operators.AbstractBinaryOperator#op(java.lang.Object, java.lang.Object)
	 */
	abstract public Object op(Object arg1, Object arg2);

	abstract public Object opInt(int i1, int i2);

	abstract public Object opDouble(double d1, double d2);

	abstract public Object opLong(long l1, long l2);

}